"use strict";
// let a :number = 123
const arr = [1, [2, 3], 4, [5, 6], [7, 8, 9]];
function flat(arr) {
    return arr.reduce((prev, val) => {
        return prev.concat(Array.isArray(val) ? flat(val) : val);
    }, []);
}
const arr1 = flat(arr);
console.log(arr1);
// function getVal<T, K extends keyof T>(obj: T, key: K): T[K] {
//     return obj[key]
//   }
//   const obj = {
//     name: '小明',
//     age: 33,
//     sex: '男'
//   }
// const a = getVal(obj , 'age')
// type Obj1 = typeof obj
// type Obj1Keys = keyof typeof obj
